package com.javaio.demo.nio.client;



import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/**
 * 副线程处理等待用户消息发送副线程用Runnable 用来创建线程 接受一对一用户处理消息发送 一个线程对应一个用户
 */
public class UserInputHandler implements  Runnable {

    private ChatClient chatClient;
    /**
     * 创建实例读写信息 将 this.  赋值给 socket  chatClient 则可以拿到实例
     *
     * @param chatServer
     * @param
     */

    public UserInputHandler(ChatClient chatClient){
        this.chatClient = chatClient;
    }

    /**
     * 等待用户消息和发送消息
     */
    @Override
    public void run() {
        //接收用户消息
        BufferedReader consolReader;
        try {
            //用户输入消息
            consolReader = new BufferedReader(new InputStreamReader(System.in));
            //循环接收消息
            while (true){

                String input = consolReader.readLine();
                //向服务器发送消息
                chatClient.send(input);
                //判断用户是否发送的退出消息
                if(chatClient.readyTuiChu(input)){
                    break;
                }
            }
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
        }

    }
}